package com.hc.controller;

import com.hc.service.BlogService;
import com.hc.service.CategoryService;
import com.hc.service.TagService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.annotation.Resource;

@Controller
@RequestMapping("/blog")
public class BlogController {

    @Resource
    private BlogService blogService;
    @Resource
    private CategoryService categoryService;
    @Resource
    private TagService tagService;

    //@GetMapping("/list")
    //public String list(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
    //                   @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
    //                   @ModelAttribute("msg") String msg, //接收请求转发过来的提示信息
    //                   @ModelAttribute("blog") BlogQueryVO blogQueryVO, //前端传递过来的数据直接转换为对象
    //                   Model model) {
    //    //List<Category> categoryList = categoryService.list();
    //    //model.addAttribute("categoryList", categoryList);
    //    //ConditionVO conditionVO = ConditionVO.builder()
    //    //        .pageNum(pageNum)
    //    //        .pageSize(pageSize)
    //    //        .build();
    //    //PageBean<Blog> blogPageBean = blogService.listPersonalHomeBlogDTOsByConditionWithPage(conditionVO, blogVO);
    //    //model.addAttribute("data", blogPageBean);
    //    return "/admin/blog";
    //}
    //
    //@PostMapping("/list/search")
    //public String search(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
    //                     @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
    //                     @ModelAttribute("msg") String msg, //接收请求转发过来的提示信息
    //                     @ModelAttribute("blog") BlogQueryVO blogQueryVO, //前端传递过来的数据直接转换为对象
    //                     Model model) {
    //    //ConditionVO conditionVO = ConditionVO.builder()
    //    //        .pageNum(pageNum)
    //    //        .pageSize(pageSize)
    //    //        .build();
    //    //PageBean<Blog> blogPageBean = blogService.listPersonalHomeBlogDTOsByConditionWithPage(conditionVO, blogVO);
    //    //model.addAttribute("data", blogPageBean);
    //    return "/admin/blog :: blogList"; // 局部刷新
    //}
    //
    //@GetMapping("/showAdd")
    //public String showAdd(Model model) {
    //    //初始化分类
    //    List<Category> categoryList = categoryService.list();
    //    model.addAttribute("categoryList", categoryList);
    //    //初始化标签
    //    List<Tag> tagList = tagService.list();
    //    model.addAttribute("tagList", tagList);
    //    //避免修改保存共用一个页面报错
    //    model.addAttribute("blog", new Blog());
    //    //避免修改保存共用一个页面报错
    //    model.addAttribute("category", new Category());
    //    return "/admin/blog-add-update";
    //}
    //
    ////用户保存博客时，先查询出更改前博客的所有类别id1，再和前台传递过来的博客的类别id2进行比较
    ////如果相同，只保存博客，不保存关系
    ////如果id1比id2多，在关系表中删除id1中多余的
    ////如果id2比id1多，在关系表中增加id2中多余的
    ////https://blog.csdn.net/u011595939/article/details/74348216
    //@PostMapping("/add")
    //public String add(@ModelAttribute("blog") Blog blog,
    //                  @RequestParam(value = "categoryIds",required = true) String categoryIds,
    //                  @RequestParam(value = "tagIds",required = false) String tagIds,
    //                  HttpSession session,
    //                  RedirectAttributes attributes) {
    //    Object userObj = session.getAttribute("user");
    //    if(userObj == null){// 用户未登录
    //        throw new GlobalException(ResultEnum.USER_NOT_LOGGED_IN);
    //    }
    //    Integer userId = ((User) userObj).getId();
    //    blog.setUserId(userId);
    //    int addRes = blogService.createBlog(blog);
    //    if(addRes == 1){
    //        attributes.addFlashAttribute("msg","博客添加成功");
    //    }else {
    //        attributes.addFlashAttribute("msg","博客添加失败");
    //    }
    //    return "redirect:/admin/blog/list";
    //}
}
